//初始化列表数组
var List = [];
var startDate = '';
var endDate = '';
var editUserId = 0;

var roleArr=[];
var rid = 0;
var roleName = '';
//分页查询
var limit = 5;// 每页多少条
var currPage = 1;// 当前页
var allPage = 1;// 总页数
var count = 0;// 默认共多少条数据
//当前登录者的角色id
var nowRid = 0;

function getstartDate(){
	startDate = document.getElementById('start').value;
	
	
}
function getendDate(){
	endDate = document.getElementById('end').value;
	
}
function doSend(){
	roleName = val('roleName');
	
	getAdminList();
}
getAdminRid();
function getAdminRid(){
	$.ajax({
		url:ajax_host+'getAdminRid.act',
    	dataType:'JSON',
    	success:function(resp){
    		if(resp.success){
				nowRid = resp.rid;
				console.log('resp.rid:'+resp.rid);
				console.log('ajax登陆者角色id:'+nowRid);
				getAdminList();
    		}else{
				layer.alert('获取登陆者角色id失败');
			}
    	},
    	error:function(resp){
    		layer.alert('获取登陆者角色id失败');
    	}
	});
}



function getAdminList(){
	
	console.log(roleName);
	
	$.ajax({
		url:'getrolelist.act',
		dataType:'json',
		data:{
			roleName : roleName,
			start : startDate,
			end : endDate,
			startpage : currPage,
			limitpage : limit
		},
		success:function(resp){
			if(resp.success){
				roleArr = resp.list;
				
				showData(resp.list)	
				// 总页数=记录数/每页记录
				count = resp.count;
				console.log('总记录数:'+count)
				allPage=count%limit==0?(count/limit):(parseInt(count/limit+1));
				console.log('总页数:'+allPage);
				$("#pager").html(currPage+"/"+allPage);			
			}else{
				layer.alert(resp.errmsg);
			}
		}
		
	})
}


function showData(arr){
	//接收一个值来判断是否显示修改角色配置的标签
	
	console.log('登录者角色id:'+nowRid)
	var str ="";
	str+=`
	<tr>
		  <th>角色名</th>
		  <th>状态</th>
		  <th>创建时间</th>
          <th>操作</th>
	</tr>` ;
	for(var i=0;i<arr.length;i++){
		var a = arr[i];
		str+=`<tr><td>${a.rName}</td>`;
		if(a.state == 0){
			str+=`<td>启用</td>`;
		}
		if(a.state == 1){
			str+=`<td>禁用</td>`;
		}
		str+=`
			<td>${a.cTime}</td><td>`;
			 if(a.rId>nowRid){
				str +=
				`<a href = "###" onclick="updatestate(${a.rId},${a.state})">修改状态</button>
				<a href = "###" onclick="amendRole(${a.rId})">修改角色的配置</button>`;
				str +=`</td>`;
			 } 
			
		str+=`</th>`;
	}
	
	html('table',str);	
}






// 新增弹窗
function addRole(){
    $('#addData').modal({
      show:true, // 展示出来
      moveable:true, // 可移动
      rememberPos:true, // 记住上一次移动位置
      backdrop:'static' // 点击遮罩不会关闭
    });
}

function confirm(){
	$.ajax({
		url:'roleAdd.act',
		type:'post',
		dataType:'json',
		data:{
			roleName:$('#addRoleName').val(),
			state:$('input[name="stateAdd"]:checked').val()
		},
		success:function(resp){
			if(resp.success){
				getAdminList();
				layer.alert('新增成功');
			}
		}		
	})
}

  function updatestate(id,state){
	  var sta;
	  if(state==1){
		  sta=0
	  }
	  if(state==0){
		  sta=1
	  }
    layer.confirm('是否修改此用户状态？', {
      btn: ['确定','取消'] // 按钮
    }, function(){
      // 重置方法写这里
    	$.ajax({
    		url:'roleAmendState.act',
    		type:'post',
    		dataType:'json',
    		data:{
    			id:id,
    			state:sta
    		},
    	success:function(resp){
    		if(resp.success){
    			getAdminList();
				layer.alert('修改成功');
    		}
    	}
    	})   
    }
    );
  }
getMenu();
function getMenu() {	
		$.ajax({
			url : 'getMenus.act',
			dataType : 'json',
			success : function(resp) {
				if (resp.success) {
				    var arr3 = [];
		              showStrMenu(0,arr3,resp.list,0,20); // 这里获取全部的菜单集合
		              var rss =  showJuri(arr3);
		              $/jQuery('#moveApplyDiv').html(rss);
					
				}
			}
		})	
	}



// 渲染一开始的菜单
function showStrMenu(pid,treeArr,arr,left,size){
	for (var i = 0; i < arr.length; i++) {
		var a = arr[i];
		if (a.pmenuId == pid) {
			var jsonObj = {
				html : `<label>
                    <input type="checkbox" name="setjuri" value="${a.menuId}" style="margin-left:${(left+1)*20}px;"          
                    <span style="font-size:${(size)}px;">${a.menuName}</span>
                    </label>
                    <br>`,
				children : [],
			};
			treeArr.push(jsonObj);
			 var toleft = left+1;// 每下一级右边距增加
		        var toSize = size-3;// 每下一级字体缩小
		        if(toSize<10)toSize = 10;// 设置字体最小值
		        showStrMenu(a.menuId, jsonObj.children, arr,toleft,toSize);
		}
	}	
}

// 渲染权限到页面
function showJuri(arr){
    var str ="";
    for(var i =0;i<arr.length;i++){
        str+=arr[i].html;      
        var child = showJuri(arr[i].children);
        str+=child;
    }
    return str;
}

// 修改弹窗
function amendRole(id){
	rid = id;
	console.log('角色id：'+id);
	aaa(id);
	for(var i = 0;i<roleArr.length;i++){
		if(id==roleArr[i].rId){
			console.log(roleArr[i].rName);
			html('ROLENAME',roleArr[i].rName)
		}
	}	
    $('#amendData').modal({
      show:true, // 展示出来
      moveable:true, // 可移动
      rememberPos:true, // 记住上一次移动位置
      backdrop:'static' // 点击遮罩不会关闭
    });
}
function aaa(id){
	$.ajax({ 
		url : 'getMenu.act',
		dataType : 'json',
		data:{
			roleId:id
		},
		success : function(resp) {
			if (resp.success) {
				showChecked(resp.list)
			}
		}
	})
}

// 渲染打勾的方法
function showChecked(arr){
	var checkbox  = $('input[name = setjuri]');
	for(var i=0;i<checkbox .length;i++){
		checkbox[i].checked =false;
		for(var j = 0;j<arr.length;j++){
			if(checkbox[i].value ==arr[j].menuId){
				checkbox[i].checked = true;
			}
		}
	}	
}





// 提交保存
function  doSubmit (){

    var arr =[];// 定义一个数组
    $('input[name="setjuri"]:checked').each(function(){// 遍历每一个名字为interest的复选框，其中选中的执行函数
    arr.push($(this).val());// 将选中的值添加到数组arr中

    });
    
    $.ajax({
    	url:'amendRoleJur.act',
    	type:'post',
    	dataType:'json',
    	data:{
    		rid:rid,
    		arr:arr
    	},
    	success:function(resp){
    		if(resp.success){
    			layer.alert('修改成功');
    		}else{
				layer.alert(resp.errmsg);
			}
    	}
    	
    })
}


function pagenext() {
	if (currPage + 1 > allPage) {
		layer.alert("当前已经是最后一页");
		return;
	}
	
	currPage = currPage + 1;
	getAdminlist();
};

function pageback() {
	if (currPage - 1 == 0) {
		layer.alert("当前已经是第一页");
		return;
	}
	
	currPage = currPage - 1;
	getAdminlist();
};





  
  